package com.sihan.swvp.dao.worksy;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.github.pagehelper.Page;
import com.sihan.swvp.entity.jc.JcBdz;
import com.sihan.swvp.entity.jc.JcDsdw;
import com.sihan.swvp.entity.worksy.Worksy;
import com.sihan.swvp.entity.worksy.vo.VWorksy;

public interface WorksyDao {
	
	public List<Map<String, Object>> getTestList();
	
	/**
	 * 获取任务同步数据集合
	 * @return
	 */
	public Page<Map<String, Object>> getList(Map<String, Object> kv);
	
	/**
	 * 新增任同步数据
	 * @param worksy
	 */
	public void addWorksy(Worksy worksy);
	
	public void addWorksylist(List<Worksy> list);
	
	/**
	 * 更新任务同步
	 * @param id 
	 */
	public void updateWorksy(Worksy worksy);
	
	/**
	 * 删除任务同步
	 * @param id
	 */
	public void delById(@Param("id") String id);
	
	/**
	 * 根据条件查询工作任务和巡视任务总数量
	 * @param pararms 
	 * @return
	 */
	public Map<String, Object> getCountByWorksy(Map<String, Object> params);
	
	/**
	 * 根据条件查询今日前十变电站完成任务数量
	 * @param pararms 
	 * @return
	 */
	public List<Map<String, Object>> getTodayWcShu(Map<String, Object> params);
	
	/**
	 * 根据条件查询工作任务和巡视任务单个数量
	 * @param pararms 
	 * @return
	 */
	public Map<String, Object> getCountByWorkAndPatrol(Map<String, Object> params);	
	
	
	/**
	 * 获取变电站
	 * @return
	 */
	public List<Map<String, Object>> getBdz(@Param("regionId") Integer regionId);
	
	/**
	 * 根据专业获取班组
	 * @return
	 */
	public List<Map<String, Object>> getBz(@Param("zyId") Integer zyId,@Param("bzId") Integer bzId);
	
	/**
	 * 获取专业
	 * @return
	 */
	public List<Map<String, Object>> getZy();
	
	/**
	 * 获取部门
	 * @return
	 */
	public List<Map<String, Object>> getDept();
	

	/**
	 * 根据部门Id获取部门下的用户
	 * @param deptId 部门Id
	 * @return
	 */
	public List<Map<String, Object>> getDeptPeople(@Param("deptId") int deptId);
	
	/**
	 * 根据班组编码获取班组id
	 * @param bzCode-班组编码
	 * @return
	 */
	public Map<String, Object> getBzIdByBzcode(@Param("bzCode")String bzCode);
	
	/**
	 * 根据变电站名称匹配或变电站记录
	 * @param bdzname 变电站名称
	 * @return
	 */
	public JcBdz getBdzByBdz(@Param("bdzname") String bdzname);
	
	/**
	 * 根据专业编码获取专业id
	 * @param zyCode-专业编码
	 * @return
	 */
	public Integer getZyIdByzyCode(@Param("zyCode")String zyCode);
	
	/**
	 * 根据id检测数据是否存在
	 * @param id
	 * @return
	 */
	public int getCountById(@Param("id") String id);
	
	/**
	 * 获取id集合
	 * @return
	 */
	public List<String> getIdList();
	
	/**
	 * 获取地市信息列表
	 * @return
	 */
	public List<Map<String, Object>> getCity();
	
	public String getCityCode(@Param("id") int id);
	
	public JcDsdw getDsidByDscode(@Param("code") String code);
	
	public List<Map<String, Object>> inspectSameTask(VWorksy vWorksy);

}
